package org.jeecg.demo.wx.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;


@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(description = "任务添加更新对象")
public class TaskUpdateDto {
    /**企业日历任务表Id*/
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "企业日历任务表Id")
    private Integer id;
    /**用户id*/
    @Excel(name = "用户id", width = 15)
    @ApiModelProperty(value = "用户id")
    private String userId;
    /**用户名称*/
    @Excel(name = "用户名称", width = 15)
    @ApiModelProperty(value = "用户名称")
    private String userName;
    /**部门id*/
    @Excel(name = "部门id", width = 15)
    @ApiModelProperty(value = "部门id")
    private String depId;
    /**部门名称*/
    @Excel(name = "部门名称", width = 15)
    @ApiModelProperty(value = "部门名称")
    private String depName;
    /**标题*/
    @Excel(name = "标题", width = 15)
    @ApiModelProperty(value = "标题")
    private String title;
    /**内容*/
    @Excel(name = "内容", width = 15)
    @ApiModelProperty(value = "内容")
    private String content;
    /**紧急等级 10-一般；20-重要*/
    @Excel(name = "紧急等级", width = 15)
    @ApiModelProperty(value = "紧急等级")
    @Dict(dicCode = "urgent_level")
    private String level;
    /**开始时间*/
    @Excel(name = "开始时间", width = 15, format = "yyyy-MM-dd HH:mm")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "开始时间")
    private Date beginTime;
    /**结束时间*/
    @Excel(name = "结束时间", width = 15, format = "yyyy-MM-dd HH:mm")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "结束时间")
    private Date endTime;
    /**接收成员Id*/
    @Excel(name = "接收成员Id", width = 15)
    @ApiModelProperty(value = "接收成员Id")
    private List<String> recipientId;
    /**接收成员名称*/
    @Excel(name = "接收成员名称", width = 15)
    @ApiModelProperty(value = "接收成员名称")
    private List<String> recipientName;

    @ApiModelProperty(value = "文件原名称")
    private String fileName;

    @ApiModelProperty(value = "文件路径名")
    private String filePath;

    /**钉钉日历任务id*/
    @ApiModelProperty(value = "钉钉日历任务id")
    private String dingId;

    @ApiModelProperty(value = "提前**min提醒 10-30min,20-1day,30-3day，5-15min，空-不提醒", example = "10")
    private String remind;

    @ApiModelProperty(value = "循环规则，40-工作日，50-一周，空-不需要", example = "40")
    private String recurrence;
}
